package org.dydl.model.system;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * PRODUCTION
 * 
 * @author 张华城
 * @version 1.0.0 2017-12-19
 */
@Entity
@Table(name = "production")
public class Production implements Serializable {
    /** 版本号 */
    private static final long serialVersionUID = -7831251525647236537L;

    /** id */
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    /** uuid */
    private String uuid;

    /** 生产指令号 */
    private String productionNo;

    /** 投产日期 */
    private Date startingDate;

    /** 目的港 */
    private String destination;

    /** 货代 */
    private String freightForwarding;

    /** CEVA */
    private String ceva;

    /** 供销部 */
    private String samDepartment;

    /** 质检部 */
    private String qcDepartment;

    /** 生产部 */
    private String productDepartment;

    /** 审批 */
    private Integer examination;

    /** 备注 */
    private String comment;
    
    
    private String orderNo;
    
    
    private Integer status;
    
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Timestamp issuedDate;
    
    private Integer totalQuantity;
    
    /** 已生产数量 */
    private Integer already = 0;

    /** 已出库数量 */
    private Integer alreadyOut = 0;
    
    
    
    
    public Integer getAlready() {
		return already;
	}

	public void setAlready(Integer already) {
		this.already = already;
	}

	public Integer getAlreadyOut() {
		return alreadyOut;
	}

	public void setAlreadyOut(Integer alreadyOut) {
		this.alreadyOut = alreadyOut;
	}

	public Integer getTotalQuantity() {
		return totalQuantity;
	}

	public void setTotalQuantity(Integer totalQuantity) {
		this.totalQuantity = totalQuantity;
	}


    public Timestamp getIssuedDate() {
		return issuedDate;
	}

	public void setIssuedDate(Timestamp issuedDate) {
		this.issuedDate = issuedDate;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}


	/**
     * 获取id
     * 
     * @return id
     */
    public Integer getId() {
        return this.id;
    }

    /**
     * 设置id
     * 
     * @param id
     *          id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取uuid
     * 
     * @return uuid
     */
    public String getUuid() {
        return this.uuid;
    }

    /**
     * 设置uuid
     * 
     * @param uuid
     *          uuid
     */
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    /**
     * 获取生产指令号
     * 
     * @return 生产指令号
     */
    public String getProductionNo() {
        return this.productionNo;
    }

    /**
     * 设置生产指令号
     * 
     * @param productionNo
     *          生产指令号
     */
    public void setProductionNo(String productionNo) {
        this.productionNo = productionNo;
    }

    /**
     * 获取投产日期
     * 
     * @return 投产日期
     */
    public Date getStartingDate() {
        return this.startingDate;
    }

    /**
     * 设置投产日期
     * 
     * @param startingDate
     *          投产日期
     */
    public void setStartingDate(Date startingDate) {
        this.startingDate = startingDate;
    }

    /**
     * 获取目的港
     * 
     * @return 目的港
     */
    public String getDestination() {
        return this.destination;
    }

    /**
     * 设置目的港
     * 
     * @param destination
     *          目的港
     */
    public void setDestination(String destination) {
        this.destination = destination;
    }

    /**
     * 获取货代
     * 
     * @return 货代
     */
    public String getFreightForwarding() {
        return this.freightForwarding;
    }

    /**
     * 设置货代
     * 
     * @param freightForwarding
     *          货代
     */
    public void setFreightForwarding(String freightForwarding) {
        this.freightForwarding = freightForwarding;
    }

    /**
     * 获取CEVA
     * 
     * @return CEVA
     */
    public String getCeva() {
        return this.ceva;
    }

    /**
     * 设置CEVA
     * 
     * @param ceva
     *          CEVA
     */
    public void setCeva(String ceva) {
        this.ceva = ceva;
    }

    /**
     * 获取供销部
     * 
     * @return 供销部
     */
    public String getSamDepartment() {
        return this.samDepartment;
    }

    /**
     * 设置供销部
     * 
     * @param samDepartment
     *          供销部
     */
    public void setSamDepartment(String samDepartment) {
        this.samDepartment = samDepartment;
    }

    /**
     * 获取质检部
     * 
     * @return 质检部
     */
    public String getQcDepartment() {
        return this.qcDepartment;
    }

    /**
     * 设置质检部
     * 
     * @param qcDepartment
     *          质检部
     */
    public void setQcDepartment(String qcDepartment) {
        this.qcDepartment = qcDepartment;
    }

    /**
     * 获取生产部
     * 
     * @return 生产部
     */
    public String getProductDepartment() {
        return this.productDepartment;
    }

    /**
     * 设置生产部
     * 
     * @param productDepartment
     *          生产部
     */
    public void setProductDepartment(String productDepartment) {
        this.productDepartment = productDepartment;
    }

    /**
     * 获取审批
     * 
     * @return 审批
     */
    public Integer getExamination() {
        return this.examination;
    }

    /**
     * 设置审批
     * 
     * @param examination
     *          审批
     */
    public void setExamination(Integer examination) {
        this.examination = examination;
    }

    /**
     * 获取备注
     * 
     * @return 备注
     */
    public String getComment() {
        return this.comment;
    }

    /**
     * 设置备注
     * 
     * @param comment
     *          备注
     */
    public void setComment(String comment) {
        this.comment = comment;
    }
}